package com.ysy.logistics.entities.stock;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ysy.common.entities.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * @ClassDescription: 入库单
 * @Author:姚斯羽
 * @Create:2025/4/1 17:51
 **/
@Data
@Schema(name = "InBoundList", description = "入库单")
@TableName(value = "in_bound_list")
@Accessors(chain = true)
public class InBoundList extends BaseEntity {
    @Schema(description = "id")
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;

    @Schema(description = "入库单号")
    @TableField(value = "in_bound_no")
    private String inBoundNo;


    @Schema(description = "入库人")
    @TableField(value = "in_bound_person")
    @NotBlank(message = "入库人不能为空")
    private String inBoundPerson;

    @Schema(description = "仓库Id")
    @TableField(value = "warehouse_id")
    @NotBlank(message = "入库仓库不能为空")
    private String warehouseId;

    @Schema(description = "类型")
    @TableField(value = "in_bound_type")
    @NotBlank(message = "入库类型不能为空")
    private String inBoundType;


    @Schema(description = "对应Id")
    @TableField(value = "in_bound_type_id")
    @NotBlank(message = "订单Id不能为空")
    private String inBoundTypeId;


    @Schema(description = "入库状态")
    @TableField(value = "in_bound_status")
    private String inBoundStatus;

    @Schema(description = "责任人(客户/供应商)")
    @TableField(value = "in_bound_responsible")
    @NotBlank(message = "责任人(客户/供应商不能为空")
    private String inBoundResponsible;

    @Schema(description = "订单编号")
    @TableField(value = "order_num")
    @NotBlank(message = "订单编号不能为空")
    private String orderNum;


}
